草庐IT

windows - System.StackOverflow 错误

全部标签

windows - 系统调用 - 如何在 Go 中使用 LPWSTR?

我正在尝试为Go创建WindowsMMDeviceAPI的精简包装器,但我遇到了有关字符串的Windows数据类型的问题。根据IMMDevice::GetIdmethod的文档,它采用以下参数:HRESULTGetId([out]LPWSTR*ppstrId);这是与上述方法相对应的我的Go代码。(github.com/moutend/ywca/immdevice_windows.go:13)funcgetId(mmd*IMMDevice,strId*uint16)(errerror){hr,_,_:=syscall.Syscall(mmd.VTable().GetId,2,uintp

go - os : process already finished when sending syscall. SIGCONT(可能是错误?)

当执行进程并使用以下方式向其发送信号时:Process.Signal我注意到在发送第二个信号syscall.SIGCONT之后我得到了一个:os:processalreadyfinished但如果使用syscall.Kill一切都按预期工作。为了演示目的,我创建了这个简单的示例:packagemainimport("fmt""os""os/exec""syscall""time")funcmain(){exit:=make(chanerror,1)gorun(exit)for{select{case所以基本上如果使用:cmd.Process.Signal(syscall.SIGCONT

go - 如何捕获 "http: server closed idle connection"错误

在我的go应用程序中,我收到以下错误:“http:服务器关闭空闲连接”。我想捕获它并在遇到它时重试我的http连接。我发现这个错误来自“net/http”包,而且来自传输实现。特别是它定义了here我把它包裹在url.Error中,但这就是我能找到的全部。你知道我怎样才能真正捕捉到这个错误吗?编辑:我正在使用elasticsearchclient,它又使用net/http。我从客户端收到上述错误,并希望重试我的Elasticsearch请求,因为它是暂时的。现在我捕捉暂时性错误的方式是:ifurlErr,ok:=err.(*url.Error);ok&&(urlErr.Temporar

Go AST/Types——如何判断错误?

有更好的方法吗?我需要知道v的类型是否是内置的“错误”类型。我觉得应该有一种更简洁的方法来做到这一点:import("go/ast""go/types")funcIsError(vast.Expr,infotypes.Info)bool{t:=info.Types[v]returnt.Type.String()=="error"&&t.Type.Underlying().String()=="interface{Error()string}"} 最佳答案 Typeassertion是检查变量类型的惯用方法。鉴于您正在处理一个AST表

c++ - C++ GRPC客户端与golang服务器连接错误

我正在尝试编写一个与C++和golang客户端通信的GRPC服务器。由于这都是我们系统内部的,因此会有一个自签名证书签署服务器证书,服务器将签署客户端证书。我能够从golang客户端连接到服务器。但是,C++客户端没有连接,我从ssl层看到了一堆错误。我在配置C++grpc客户端时做错了什么?(我的证书目前都使用2048位的RSAkey)以下是我认为等效的客户端代码(省略了错误处理):戈兰:import("crypto/tls""io/ioutil""google.golang.org/grpc""google.golang.org/grpc/credentials")funcgetC

go - Go 中的错误解析时间,微秒数可变

我正在尝试将字符串解析为时间对象。问题是微秒项中的位数发生变化,这会破坏解析。例如,这很好用:packagemainimport("fmt""time")funcmain(){timeText:="2017-03-25T10:01:02.1234567Z"layout:="2006-01-02T15:04:05.0000000Z"t,_:=time.Parse(layout,timeText)fmt.Println(t)}但这会导致错误,因为微秒数字与布局不匹配:packagemainimport("fmt""time")funcmain(){timeText:="2017-03-25

windows - 用 Go 编写的目录 walker 因文件正在使用(锁定)错误而停止

我有这个目录遍历器:packagemainimport("fmt""os""path/filepath""strings")varexts=[...]string{"*.psd","*.cdr","*.tiff","*.svg","*.png","*.jpeg","*.jpg","*.pdf","*.txt","*.rtf","*.docx","*.doc","*.xlsx","*.xls","*.ppt","*.pptx","*.accdb","*.csv","*.dwg","*.dxf","*.dng","*.arw","*.srf","*.sr2","*.bay","*.crw"

json - 如何在响应正文中单独设置错误代码和编码 json?

在我的应用程序中,当出现错误时,我在响应主体上写了一条json错误消息,但这使得响应代码为200。我尝试单独执行json.NewEncoder(res).Encode(errorBody)res.WriteHeader(http.StatusBadRequest)但它仍然给出响应代码200以及我正在进行多个WriteHeader调用的警告。我想要类似的东西http.Error(res,"SomeErrorMessagehere",http.StatusBadRequest)但我希望它不是文本格式的错误消息,而是JSON格式。我该怎么办? 最佳答案

go - 为用户可以编辑的页面(例如维基百科/stackoverflow 页面)设计数据存储架构

想法是设计一个表/实体,其中包含一些基本信息,以及一个Markdown-Content字段,允许用户轻松创建表等。我是这样想的:typeTournamentstruct{IDin64`datastore:"-"`MDContent[]byte`datastore:",noindex"`NamestringURLstringDateCreatedint64CreatedBystringDateUpdatedint64UpdatedBystringApprovalStatusint64//0=tobedecided,1=approved,2=rejected,3=discontinuedA

Golang (v1.8) - 错误 : type *mux. Route has no field or method Method

我有一个配备了gorilla工具包的go/golang应用程序。我正在尝试使用gorilla/mux包进行路由。我的路线和错误信息如下。有什么指点吗?路线`r:=mux.NewRouter()r.HandleFunc("/",landing)r.HandleFunc("/contact",contact)r.HandleFunc("/faq",faq)r.HandleFunc("/register",accountsC.New).Method("GET")r.HandleFunc("/register",accountsC.Create).Method("POST")http.List